<?php

namespace app\api\controller;

use support\Response;

class BaseController
{
    /**
     * 统一返回JSON格式的方法
     *
     * @param int $code 状态码
     * @param string $msg 消息
     * @param array $data 数据
     * @return Response
     */
    protected function jsonResponse(int $code, string $msg, array $data = []): Response
    {
        return json(['code' => $code, 'msg' => $msg, 'data' => $data]);
    }

    /**
     * 成功返回JSON格式的方法
     *
     * @param string $msg 消息
     * @param array $data 数据
     * @return Response
     */
    protected function success(string $msg = 'success', array $data = []): Response
    {
        return $this->jsonResponse(0, $msg, $data);
    }

    /**
     * 失败返回JSON格式的方法
     *
     * @param string $msg 消息
     * @param array $data 数据
     * @return Response
     */
    protected function error(string $msg = 'error', array $data = []): Response
    {
        return $this->jsonResponse(1, $msg, $data);
    }

}
